1. Field of the Invention
The present invention relates in general to the field of information processing, and more specifically to a system and method for representing and modeling the configuration of products.
2. Description of the Related Art
Configurable products can be described by sets of selectable features that make up the product. A feature represents an option that can be ordered on a product. For convenience, selectable features are generally grouped by families. Families are typically classified as groups of features with the same functional purpose. Example families for an automobile are “version,” “trim package,” “exterior package,” “drives,” “engines,” “series,” “tires,” “markets,” “wheels,” “seats,” and “transmissions.” An example feature from the engines family is a “4.5 liter V8.” Features relate to each other via configuration rules. A rule can be characterized as generally including a ‘left hand side’, (LHS), a ‘right hand side’ (RHS), and a specified relationship between the LHS and RHS. Each LHS feature may be associated with one or more RHS features, which indicates that a single feature in the LHS may be constrained or otherwise qualified by one or more RHS features. The RHS describes when a rule is in effect and what features are particularly affected. For example, a rule with a RHS of “XA, XB” means that, the rule is in effect in cases where you have at least XA and XB in a buildable configuration, and XA and XB are features particularly affected by the rule along with the LHS feature. Configuration rules include optionalities that define a relationship between the LHS and RHS. Example optionalities include “S,” “O,” and “N,” which translate to “standard,” “optional,” and “not available,” respectively. A specific example of a rule containing an optionality would be “the 4.5 liter V8 engine is standard on the XL trim.” In general, a feature is related to another feature if a rule has been written for the selected feature that references another feature. For example, for the above rule, “4.5 liter V8 engine” forms the LHS, “XL trim” forms the RHS, and “standard” specifies the relationship between the LHS and RHS of the rule. The collection of product configuration rules is generally referred to as a product's configuration model.
As rules are developed to define valid product configurations, dependencies arise between various families and features of families. For example, the presence of a particular wheel in a product may depend upon the particular version of the product. A chain of dependencies often arise. For example, the choice of a particular wheel may depend upon the “version” and the “trim package” may depend upon the “transmission,” and the “transmission” may depend on the “market,” etc. Although a product may include many features, features are not related if there is no dependency path that defines a relationship. For example, there may be no relationship between the choice of a wheel and the choice of a transmission or seat.
It is often useful to select a particular feature of a configurable product and analyze all the other features that the selected feature depends upon in order to be part of a valid, i.e. buildable, configuration. For example, a user, such as a configuration modeler, may want to know what features of an automobile have a dependant relationship with a selected feature. Table 1 sets forth all the features of families that have a relationship to the Engine family on an example automobile:
TABLE 1FamilyFeatures Relating to the Engine FamilyMarketUSA, Mexico, Canada, Europe, South America (S.A.)TrimXA, XB, XCEngineV4, V6
If a user would like to, for example, display the relationships between the V4 engine feature and features relating to the V4 engine, a grid could be displayed as in FIG. 1 that depicts the relationships between the selected V4 engine and the related families of Table 1 for the example automobile, e.g. the V4 engine is optional with Trim XA in the USA. The display of FIG. 1 is not particularly complicated and cumbersome.
However, as revealed in Table 2, when the number of related families and features increases displaying the relationships between features becomes very difficult when using normal sized displays, such as a 15-20 inch monitor. Table 2 sets forth the families and the number of features (the “feature count”) therein that have a relationship to the wheel family of the example automobile.
TABLE 2FamilyFeature CountVersion5Trim Package5Exterior Package5Drives2Engines6Series3Tires15Markets40Wheels12
The feature count in Table 2 represents 32,400,000 configuration combinations and resulting data cells. The explosion of the number of data cells stems from the fact that conventional configuration analytical methods produce all possible combinations of the dependent features. All these combinations are studied to ensure there are no overlaps and/or missing data for possible buildable product configurations. Viewing configurations, as in FIG. 1, presents an excellent way to permit a user to analyze feature relationships in a configuration model. However, once the number of combinations increases sufficiently to preclude normal viewing, visual analysis is precluded due to the user confusion caused by the amount of data represented.